home *** CD-ROM | disk | FTP | other *** search
- #ifndef _PHASESHIFTNUB_
- #define _PHASESHIFTNUB_
-
- #include <ConditionalMacros.h>
- #include <QuickDraw.h>
- #include <Windows.h>
- #include "PhaseShiftConfig.h"
- #include "PatchHarness.h"
- #include "ProcInfo.h"
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
-
- typedef pascal void (*PhaseShiftUpdateProcPtr)(CGrafPtr port,RgnHandle rgn);
-
- typedef pascal void (*PhaseShiftRegisterProcPtr)(PhaseShiftUpdateProcPtr updateProc);
- typedef pascal void (*PhaseShiftUnregisterProcPtr)(PhaseShiftUpdateProcPtr updateProc);
- typedef pascal void (*PhaseShiftBeginDrawProcPtr)(CGrafPtr *port,RgnHandle *rgn);
- typedef pascal void (*PhaseShiftEndDrawProcPtr)(void);
- typedef pascal void (*PhaseShiftDrawDesktopProcPtr)(RgnHandle rgn);
-
-
- #if GENERATINGCFM
- typedef UniversalProcPtr PhaseShiftUpdateUPP;
- typedef UniversalProcPtr PhaseShiftRegisterUPP;
- typedef UniversalProcPtr PhaseShiftUnregisterUPP;
- typedef UniversalProcPtr PhaseShiftBeginDrawUPP;
- typedef UniversalProcPtr PhaseShiftEndDrawUPP;
- typedef UniversalProcPtr PhaseShiftDrawDesktopUPP;
- #else
- typedef PhaseShiftUpdateProcPtr PhaseShiftUpdateUPP;
- typedef PhaseShiftRegisterProcPtr PhaseShiftRegisterUPP;
- typedef PhaseShiftUnregisterProcPtr PhaseShiftUnregisterUPP;
- typedef PhaseShiftBeginDrawProcPtr PhaseShiftBeginDrawUPP;
- typedef PhaseShiftEndDrawProcPtr PhaseShiftEndDrawUPP;
- typedef PhaseShiftDrawDesktopProcPtr PhaseShiftDrawDesktopUPP;
- #endif
-
- enum {
- uppPhaseShiftUpdateProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1,SIZE_CODE(sizeof(CGrafPtr)))
- | STACK_ROUTINE_PARAMETER(2,SIZE_CODE(sizeof(RgnHandle))),
- uppPhaseShiftRegisterProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1,SIZE_CODE(sizeof(PhaseShiftUpdateProcPtr))),
- uppPhaseShiftUnregisterProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1,SIZE_CODE(sizeof(PhaseShiftUpdateProcPtr))),
- uppPhaseShiftBeginDrawProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1,SIZE_CODE(sizeof(CGrafPtr*)))
- | STACK_ROUTINE_PARAMETER(2,SIZE_CODE(sizeof(RgnHandle*))),
- uppPhaseShiftEndDrawProcInfo = kPascalStackBased,
- uppPhaseShiftDrawDesktopProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1,SIZE_CODE(sizeof(RgnHandle)))
- };
-
- #if GENERATINGCFM
- #define NewPhaseShiftUpdateProc(userRoutine) (PhaseShiftUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),uppPhaseShiftUpdateProcInfo,GetCurrentArchitecture())
- #define NewPhaseShiftRegisterProc(userRoutine) (PhaseShiftRegisterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),uppPhaseShiftRegisterProcInfo,GetCurrentArchitecture())
- #define NewPhaseShiftUnregisterProc(userRoutine) (PhaseShiftUnregisterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),uppPhaseShiftUnregisterProcInfo,GetCurrentArchitecture())
- #define NewPhaseShiftBeginDrawProc(userRoutine) (PhaseShiftBeginDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),uppPhaseShiftBeginDrawProcInfo,GetCurrentArchitecture())
- #define NewPhaseShiftEndDrawProc(userRoutine) (PhaseShiftEndDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),uppPhaseShiftEndDrawProcInfo,GetCurrentArchitecture())
- #define NewPhaseShiftDrawDesktopProc(userRoutine) (PhaseShiftDrawDesktopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),uppPhaseShiftDrawDesktopProcInfo,GetCurrentArchitecture())
- #else
- #define NewPhaseShiftUpdateProc(userRoutine) ((PhaseShiftUpdateUPP)(userRoutine))
- #define NewPhaseShiftRegisterProc(userRoutine) ((PhaseShiftRegisterUPP)(userRoutine))
- #define NewPhaseShiftUnregisterProc(userRoutine) ((PhaseShiftUnregisterUPP)(userRoutine))
- #define NewPhaseShiftBeginDrawProc(userRoutine) ((PhaseShiftBeginDrawUPP)(userRoutine))
- #define NewPhaseShiftEndDrawProc(userRoutine) ((PhaseShiftEndDrawUPP)(userRoutine))
- #define NewPhaseShiftDrawDesktopProc(userRoutine) ((PhaseShiftDrawDesktopUPP)(userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallPhaseShiftUpdateProc(userRoutine,port,rgn) CallUniversalProc((UniversalProcPtr)(userRoutine),uppPhaseShiftUpdateProcInfo,(port),(rgn))
- #define CallPhaseShiftRegisterProc(userRoutine,proc) CallUniversalProc((UniversalProcPtr)(userRoutine),uppPhaseShiftRegisterProcInfo,(proc))
- #define CallPhaseShiftUnregisterProc(userRoutine,proc) CallUniversalProc((UniversalProcPtr)(userRoutine),uppPhaseShiftUnregisterProcInfo,(proc))
- #define CallPhaseShiftBeginDrawProc(userRoutine,port,rgn) CallUniversalProc((UniversalProcPtr)(userRoutine),uppPhaseShiftBeginDrawProcInfo,(port),(rgn))
- #define CallPhaseShiftEndDrawProc(userRoutine) CallUniversalProc((UniversalProcPtr)(userRoutine),uppPhaseShiftEndDrawProcInfo)
- #define CallPhaseShiftDrawDesktopProc(userRoutine,rgn) CallUniversalProc((UniversalProcPtr)(userRoutine),uppPhaseShiftDrawDesktopProcInfo,(rgn))
- #else
- #define CallPhaseShiftUpdateProc(userRoutine,port,rgn) (*(PhaseShiftUpdateProcPtr)(userRoutine))((port),(rgn))
- #define CallPhaseShiftRegisterProc(userRoutine,proc) (*(PhaseShiftRegisterProcPtr)(userRoutine))((proc))
- #define CallPhaseShiftUnregisterProc(userRoutine,proc) (*(PhaseShiftUnregisterProcPtr)(userRoutine))((proc))
- #define CallPhaseShiftBeginDrawProc(userRoutine,port,rgn) (*(PhaseShiftBeginDrawProcPtr)(userRoutine))((port),(rgn))
- #define CallPhaseShiftEndDrawProc(userRoutine) (*(PhaseShiftEndDrawProcPtr)(userRoutine))()
- #define CallPhaseShiftDrawDesktopProc(userRoutine,rgn) (*(PhaseShiftDrawDesktopProcPtr)(userRoutine))((rgn))
- #endif
-
-
- #define kPhaseShiftSelector 'PSft'
- #define kPhaseShiftVersion 0x00000001
- #define kPhaseShiftCompatible 0x00000001
- #define kPhaseShiftSignature kPhaseShiftSelector
-
-
- typedef struct PhaseShiftInfo
- {
- UInt32 version; // Version that is currently installed.
- UInt32 compatible; // Backwards compatible to this version.
- UInt32 signature; // Set if installed and active, otherwise NULL.
- PatchDesc *patchList; // Head pointer of linked list of patch descriptors.
-
- PhaseShiftNubUnloadUPP unloadProc; // Deactivate and unload from memory.
- PhaseShiftNubGetFSSpecUPP getFSSpecProc; // Get FSSpec to PhaseShiftNub file.
-
- PhaseShiftRegisterUPP registerProc;
- PhaseShiftUnregisterUPP unregisterProc;
- PhaseShiftBeginDrawUPP beginDrawProc;
- PhaseShiftEndDrawUPP endDrawProc;
- PhaseShiftDrawDesktopUPP drawDesktopProc;
-
- UInt8 filler[128];
- } PhaseShiftInfo;
-
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
-
- void DebugStrf(char *format,...);
-
-
- #endif /* _PHASESHIFTNUB_ */
-